﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace XChip_Common
{
    public class ParaModel
    {
        public string PKey { get; set; }
        public string PValue { get; set; }
        public bool SaveMask { get; set; } = false;   

        public string Note { get; set; }
    }

    public static class ParaHelp {
        private static List<ParaModel> bin_ADC;
        public static List<ParaModel> Bin_ADC
        {
            get
            {
                if (null == bin_ADC)
                {
                    bin_ADC = new List<ParaModel>();
                    bin_ADC.Add(new ParaModel() { PKey = "0xfffd", PValue = "0x80" });
                    bin_ADC.Add(new ParaModel() { PKey = "0xfffe", PValue = "0x14" });

                    bin_ADC.Add(new ParaModel() { PKey = "0x0b1e", PValue = "0x01" });
                    bin_ADC.Add(new ParaModel() { PKey = "0x0b1f", PValue = "0x01" });

                    //bin_ADC.Add(new ParaModel() { PKey = "0x0c0e", PValue = "0x03" });
                    //bin_ADC.Add(new ParaModel() { PKey = "0x0c0f", PValue = "0xff" });
                    //bin_ADC.Add(new ParaModel() { PKey = "0x0c10", PValue = "0x01" });
                    //bin_ADC.Add(new ParaModel() { PKey = "0x0c11", PValue = "0xbd" });
                    //bin_ADC.Add(new ParaModel() { PKey = "0x0c12", PValue = "0x02" });
                    //bin_ADC.Add(new ParaModel() { PKey = "0x0c13", PValue = "0x5b" });
                    //bin_ADC.Add(new ParaModel() { PKey = "0x0c14", PValue = "0x01" });
                    //bin_ADC.Add(new ParaModel() { PKey = "0x0c15", PValue = "0x4a" });
                    //bin_ADC.Add(new ParaModel() { PKey = "0x0c16", PValue = "0x10" });

                    bin_ADC.Add(new ParaModel() { PKey = "0x0c17", PValue = "0x00" });
                    bin_ADC.Add(new ParaModel() { PKey = "0x0c18", PValue = "0x00" });
                    bin_ADC.Add(new ParaModel() { PKey = "0x0c19", PValue = "0x00" });
                    bin_ADC.Add(new ParaModel() { PKey = "0x0c1a", PValue = "0x00" });

                }
                return bin_ADC;
            }

            set
            {
                bin_ADC = value;
            }
        }

        public static List<ParaModel> Bin_Press_Key
        {
            get
            {
                if (null == bin_Press_Key)
                {
                    bin_Press_Key = new List<ParaModel>();
                    bin_Press_Key.Add(new ParaModel() { PKey = "0xfffd", PValue = "0x80" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0xfffe", PValue = "0x14" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b1e", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b38", PValue = "0x00" });//Polling_PIn_Select
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b20", PValue = "0x00" });

                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b21", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b22", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b23", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b24", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b25", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b26", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b27", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b28", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b29", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b2a", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b2b", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b2c", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b2d", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b2e", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b2f", PValue = "0x00" });
                    bin_Press_Key.Add(new ParaModel() { PKey = "0x0b30", PValue = "0x00" });

                    
                    //bin_Press_Key.Add(new ParaModel() { PKey = "0x0648", PValue = "0x00" }); //ADC_Value
                    //bin_Press_Key.Add(new ParaModel() { PKey = "0x0649", PValue = "0x00" }); //ADC_Value

                    //不需要更新 注释
                    //bin_Press_Key.Add(new ParaModel() { PKey = "0x07fc", PValue = "0x01" });

                    //bin_Press_Key.Add(new ParaModel() { PKey = "0x0800", PValue = "0x00" });
                    //bin_Press_Key.Add(new ParaModel() { PKey = "0x0801", PValue = "0x05" });
                    //bin_Press_Key.Add(new ParaModel() { PKey = "0x0802", PValue = "0x7e" });
                    //bin_Press_Key.Add(new ParaModel() { PKey = "0x0803", PValue = "0x40" });
                }
                return bin_Press_Key;
            }

            set
            {
                bin_Press_Key = value;
            }
        }

        private static List<ParaModel> bin_Press_Key;



        private static List<ParaModel> osd_Version_Info;
        public static List<ParaModel> Osd_Version_Info
        {
            get
            {
                if (null == osd_Version_Info)
                {
                    osd_Version_Info = new List<ParaModel>();
                    osd_Version_Info.Add(new ParaModel() { PKey = "0xfffd", PValue = "0x20" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0xfffe", PValue = "0x00" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13a7", PValue = "0x00" ,Note = "//[7:0]Osd_BootInfo_LED_Display_Enable;" });//使能
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13b8", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Tran_Mode_Line;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13b9", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Video_Format_Line;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13ba", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_FW_Ver_Line;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13bb", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_HW_Ver_Line;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13bc", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_DayNight_Line;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13bd", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_LED_Line;" });

                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13be", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[0];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13bf", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[1];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c0", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[2];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c1", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[3];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c2", PValue = "0x26", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[4];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c3", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[5];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c4", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[6];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c5", PValue = "0x26", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[7];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c6", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[8];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c7", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[9];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c8", PValue = "0x24", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[10];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13c9", PValue = "0x24", Note = "//[7:0]Osd_Boot_Info_Firmware_StrIdx[11];" });

                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13ca", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[0];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13cb", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[1];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13cc", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[2];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13cd", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[3];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13ce", PValue = "0x26", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[4];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13cf", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[5];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13d0", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[6];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13d1", PValue = "0x26", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[7];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13d2", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[8];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13d3", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[9];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13d4", PValue = "0x24", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[10];" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13d5", PValue = "0x24", Note = "//[7:0]Osd_Boot_Info_Hardware_StrIdx[11];" });

                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13aa", PValue = "0x01", Note = "//[7:0]Osd_Boot_Info_Delay_Mode 1:FrameCountDelay2:Timerdelay;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13ac", PValue = "0x2c", Note = "//[7:0]Osd_Boot_Info_Frame_Limit;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13ad", PValue = "0x01", Note = "//[15:8]Osd_Boot_Info_Frame_Limit;" });

                    osd_Version_Info.Add(new ParaModel() { PKey = "0x125c", PValue = "0x00", Note = "//[7:0]System_Tick_Enable; " });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13b0", PValue = "0x64", Note = "//[7:0]Osd_Boot_Info_Timer_Limit;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13b1", PValue = "0x00", Note = "//[15:8]Osd_Boot_Info_Timer_Limit;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13b4", PValue = "0x00", Note = "//[7:0]Boot_Info_Times;" }); 
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13b5", PValue = "0x00", Note = "//[15:8]Boot_Info_Times;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13b6", PValue = "0x00", Note = "//[23:16]Boot_Info_Times;" });
                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13b7", PValue = "0x00", Note = "//[31:24]Boot_Info_Times;" });

                    osd_Version_Info.Add(new ParaModel() { PKey = "0x13a6", PValue = "0x00", Note = "//[7:0]Osd_Boot_Info_Enable_Flag;" });
                }
              
                return osd_Version_Info;
            }

            set
            {
                osd_Version_Info = value;
            }
        }


        public static void CleanOsdVersionInfo() { osd_Version_Info = null; }
        public static List<string> CreateOsdVersionInfo()
        {
            List<string> sb = new List<string>();
            osd_Version_Info.ForEach(c => {
                    sb.Add(string.Format("{0},{1},//{2}", c.PKey, c.PValue, c.Note));
                });
            
            return sb;
        }

        public static void CleanPara() {
            bin_ADC = null;
            bin_Press_Key = null;
          
        }

        public static void CleanPath() {
            bin_Switching_Patch = null;
        }

        public static void CleanTaoshiUtc() {
            bin_Taoshi_Utc = null;
        }        
        /// <summary>
        /// 创建adc 加入文本
        /// </summary>
        /// <returns></returns>
        public static List<string> CreateBinADC()
        {
            List<string> sb = new List<string>();
            //sb.Append("[paralist]");
            Bin_ADC.ForEach(c => {
                sb.Add(string.Format("{0},{1},", c.PKey, c.PValue));
            });

            return sb;
        }
        /// <summary>
        /// 创建 按键 加入文本
        /// </summary>
        /// <returns></returns>
        public static List<string> CreateBinPressKey()
        {
            List<string> sb = new List<string>();
            //sb.Append("[paralist]");
            Bin_Press_Key.ForEach(c => {
                sb.Add(string.Format("{0},{1},", c.PKey, c.PValue));
            });

            return sb;
        }


        private static List<ParaModel> bin_Switching_Patch;
        public static List<ParaModel> Bin_Switching_Patch {
            get
            {
                if (null == bin_Switching_Patch)
                {
                    bin_Switching_Patch = new List<ParaModel>();
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0xfffd", PValue = "0x80" });
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0xfffe", PValue = "0x14" });
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x08b5", PValue = "0x00" ,Note = "Special_Format_Enable：补丁使能开关" });  //Special_Format_Enable：补丁使能开关

                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x01ba", PValue = "0x00" ,Note = "Normal_Format_Index_Min：普通传输模式最小值" });  //Normal_Format_Index_Min：普通传输模式最小值
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x01bb", PValue = "0x00", Note = "Normal_Format_Index_Max：普通传输模式最大值" });  //Normal_Format_Index_Max：普通传输模式最大值
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x0272", PValue = "0x00", Note = "Normal_Size_Index_Min：普通传输制式的最大值" });  //Normal_Size_Index_Min：普通传输制式的最大值
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x0273", PValue = "0x00", Note = "Normal_Size_Index_Max：普通传输制式的最大值" });  //Normal_Size_Index_Max：普通传输制式的最大值


                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x01bc", PValue = "0xFF", Note = "Special_Format_1_Index_Min：特殊1传输模式最小值" });  //Special_Format_Index_Min：特殊传输模式最小值
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x01bd", PValue = "0xFF", Note = "Special_Format_1_Index_Max：特殊1传输模式最大值" });  //Special_Format_Index_Max：特殊传输模式最大值
                   
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x076b", PValue = "0xFF", Note = "Special_Size_1_Index_Min：特殊1传输制式的最小值" });  //Special_Size_Index_Min：特殊传输制式的最小值
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x07d8", PValue = "0xFF", Note = "Special_Size_1_Index_Max：特殊1传输制式的最大值" }); //Special_Size_Index_Max：特殊传输制式的最大值


                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x062e", PValue = "0xFF", Note = "Special_Format_2_Index_Min：特殊2传输模式的最小值" });  //Special_Size_Index_Min：特殊传输制式的最小值
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x062f", PValue = "0xFF", Note = "Special_Format_2_Index_Max：特殊2传输模式的最大值" }); //Special_Size_Index_Max：特殊传输制式的最大值

                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x0630", PValue = "0xFF", Note = "Special_Size_2_Index_Min：特殊2传输制式的最小值" });  //Special_Size_Index_Min：特殊传输制式的最小值
                    bin_Switching_Patch.Add(new ParaModel() { PKey = "0x0631", PValue = "0xFF", Note = "Special_Size_2_Index_Max：特殊2传输制式的最大值" }); //Special_Size_Index_Max：特殊传输制式的最大值


                }
                return bin_Switching_Patch;
            }

            set
            {
                bin_Switching_Patch = value;
            }
        }

       
        public static List<string> CreateBinSwitchingPatch() {
            List<string> sb = new List<string>();
            Bin_Switching_Patch.ForEach(c => {
                sb.Add(string.Format("{0},{1},//{2}", c.PKey, c.PValue,c.Note));
            });
            return sb;
        }


        private static List<ParaModel> bin_Taoshi_Utc;

        public static List<ParaModel> Bin_Taoshi_Utc
        {
            get
            {
                if (null == bin_Taoshi_Utc)
                {
                    bin_Taoshi_Utc = new List<ParaModel>();
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0xfffd", PValue = "0x80" });
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0xfffe", PValue = "0x14" });
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0640", PValue = "0x00" ,Note ="CVBS NP"});//CVBS4合一使能开光  用了CVBS N CVBS P  才开

                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x05fc", PValue = "0x00" }); //STHD协议制式切换编号地址(注意：要使用0x80140600~068d这部分寄存器时，必须要确保0x801405fc =0x00，以免冲突)
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0600", PValue = "0xFF" ,Note = "CVBS960H50" }); //CVBS_pal（960H25)
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0601", PValue = "0xFF", Note = "CVBS960H60" }); //CVBS_ntsc(960H30)
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0602", PValue = "0xFF", Note = "THD720P25" }); //THD_720p25
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0603", PValue = "0xFF", Note = "THD720P30" }); //THD_720p30
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0604", PValue = "0xFF", Note = "THD1080P25" }); //THD_1080p25
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0605", PValue = "0xFF", Note = "THD1080P30" }); //THD_1080p30
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0606", PValue = "0xFF", Note = "THD_4M15" }); //THD_4M15
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0608", PValue = "0xFF", Note = "THD4M25" }); //THD_4M25
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0609", PValue = "0xFF", Note = "THD4M30" }); //THD_4M30
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x060a", PValue = "0xFF", Note = "THD5M12" });//THD_5M12
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x060b", PValue = "0xFF", Note = "THD5M20" });//THD_5M20
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x060c", PValue = "0xFF", Note = "THD1080P15" });//THD_1080p15
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x060d", PValue = "0xFF", Note = "THD1080P12" });//THD_1080p12
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x060e", PValue = "0xFF", Note = "AHD720P25" });//AHD_720p25
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0610", PValue = "0xFF", Note = "AHD720P30" });//AHD_720p30
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0611", PValue = "0xFF", Note = "AHD1080P25" });//AHD_1080p25
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0612", PValue = "0xFF", Note = "AHD1080P30" });//AHD_1080p30
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0613", PValue = "0xFF", Note = "AHD_4M15" });//AHD_4M15
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0614", PValue = "0xFF", Note = "AHD4M25" });//AHD_4M25
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0615", PValue = "0xFF", Note = "AHD4M30" });//AHD_4M30
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0616", PValue = "0xFF", Note = "AHD5M12" });//AHD_5M12
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0618", PValue = "0xFF", Note = "AHD5M20" });//AHD_5M20
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0619", PValue = "0xFF", Note = "AHD_1080p15" });//AHD_1080p15
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x061a", PValue = "0xFF", Note = "AHD_1080p12" });//AHD_1080p12
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x061b", PValue = "0xFF", Note = "CHD720P25" });//CHD_720p25
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x061c", PValue = "0xFF", Note = "CHD720P30" });//CHD_720p30
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x061d", PValue = "0xFF", Note = "CHD1080P25" });//CHD_1080p25
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x061e", PValue = "0xFF", Note = "CHD1080P30" });//CHD_1080p30
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0620", PValue = "0xFF", Note = "CHD_4M15" });//CHD_4M15
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0621", PValue = "0xFF", Note = "CHD4M25" });//CHD_4M25
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0622", PValue = "0xFF", Note = "CHD4M30" });//CHD_4M30
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0623", PValue = "0xFF", Note = "CHD5M12" });//CHD_5M12
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0624", PValue = "0xFF", Note = "CHD5M20" });//CHD_5M20
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0625", PValue = "0xFF", Note = "CHD_1080p15" });//CHD_1080p15
                    bin_Taoshi_Utc.Add(new ParaModel() { PKey = "0x0626", PValue = "0xFF", Note = "CHD_1080p12" });//CHD_1080p12


                }
                return bin_Taoshi_Utc;
            }

            set
            {
                bin_Taoshi_Utc = value;
            }
        }

      
      

        public static List<string> CreateBinTaoshiUtc()
        {
            List<string> sb = new List<string>();
            bin_Taoshi_Utc.ForEach(c => {
                sb.Add(string.Format("{0},{1},//{2}", c.PKey, c.PValue,c.Note));
            });
            return sb;
        }


    }




}
